<?php
define("XXF_UID",isset($_SESSION['uid'])?$_SESSION['uid']:'0');//全局用户uid值，不存在就为0
define("XXF_ROOT", rtrim(dirname(__FILE__),"html"));//html 入口文件夹

define("XXF_HTTP", "http://".$_SERVER['HTTP_HOST']."/");//html 入口文件夹
define("XXF_DB", XXF_ROOT.'db\\xdb.php');
define("XXF_EXCEL", XXF_ROOT.'app\\excel\\PHPExcel.php');
define("XXF_RUNEXCEL", XXF_ROOT.'app\\RunExcel.php');
define("XXF_MAIL", XXF_ROOT.'app\\mail\\Smtp.class.php');

$uri=explode('/' ,$_SERVER['REQUEST_URI']);//http://127.0.0.1:7080/admin/id/1/name/xxf 等价于 http://127.0.0.1:7080/admin?id=1&name=xxf
define("XXF_URL",$uri[1]);//全局目标文件,如上面的admin，和db的list中的url一致，可以用于权限验证
$xxfget=array();//自定义的$_GET
for ($i=2;$i<count($uri)-1;$i=$i+2){
    $xxfget[$uri[$i]]=$uri[$i+1];
}
require_once(XXF_ROOT.'conf\\readconf.php');//导入全局配置文件
define("XXF_TITLE", gconf('web','title'));//全局网站标题，来自配置文件web.conf
require_once(XXF_ROOT.'app\\Xdate.php');//导入全局日期处理函数
require_once(XXF_ROOT.'app\\Idcard.php');//导入全局身份证号处理函数
require_once XXF_DB;//导入全局数据库处理文件
require_once(XXF_ROOT.'app\\Loginfo.php');//用户信息并存储
xdb::getInstance()->getdb()->query("insert into log(aip,uid,content,hua,qs)values('"._fangwenip()."',".XXF_UID.",'".((isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:"nobefore").">>".$_SERVER['REQUEST_METHOD'].">>".$_SERVER['REQUEST_URI'])."','".$_SERVER['HTTP_USER_AGENT']."','".$_SERVER['QUERY_STRING']."')");
define("XXF_BACK","<a href='javascript:history.go(-1)' style='float: right'>返回<i class='fa fa-fw fa-mail-reply'></i></a>");//返回上一页
define("XXF_REFRESH","<a href='javascript:history.go(0)' style='float: right'>刷新</a>");//
define("XXF_FORWORD","<a href='javascript:history.go(-1)' style='float: right'>前进</a>");//

define("XXF_LNAME",xdb::getInstance()->getvar("select lname from list where luri like '".XXF_URL."'"));

function __autoload($className){//调用当前不存在的类时，自动到mod文件夹中寻找
    list($filename,$suffix)=explode('_',$className);
    $file=XXF_ROOT.'mod\\'.$filename.'_mod.php';
    if(file_exists($file)){
        include_once $file;
    }else{
        die("model page does not exist!");
    }
}

require_once(XXF_ROOT.'ctl\\Ctl.php');//导入控制文件
if(!file_exists(XXF_ROOT.'ctl\\'.XXF_URL.'_ctl.php')){//目标页面不存在，到404页面
    require_once XXF_ROOT.'view\\404.php';
    exit();
}
require_once(XXF_ROOT.'ctl\\'.XXF_URL.'_ctl.php');//导入目标控制器
$class = ucfirst(XXF_URL) . '_ctl';//目标控制类
if (class_exists($class)){//如果目标控制类存在，则执行它的main方法
    $controller = new $class;
    $controller->main($xxfget);
}else{
    die(XXF_URL.'控制类不存在!');
}
//下面可以定义全局方法

function gconf($f,$k){//根据文件名和其中的属性名来获取配置文件属性值
    $r=new readconf($f.'.conf');
    return $r->gy($k);
}